Understanding the cause of software program performance issues may involve analysis of large sets of data, in terms of sample counts, items sampled, and artifacts potentially related to various samples, for example. Performance optimization is often a user-driven operation, during which a global view of application performance is presented to the user. For example, a user may be told by a profiler tool that a profiled program's execution lasted X milliseconds, or that Y disk I/O operations were performed, or that Z kilobytes of memory were allocated by the program. The user digs through the performance data presented, calls for other data to be presented, and eventually manually identifies areas of code which may be causing the perceived performance issues. Familiarity with the program's source code and with subtleties of performance causes are either presumed, or at the least helpful.